import subprocess
import sys


def run_command(command):
    """运行 shell 命令并输出结果"""
    try:
        result = subprocess.run(command, check=True, shell=True, text=True)
        print(f"Command '{command}' executed successfully.")
    except subprocess.CalledProcessError as e:
        print(f"Error occurred while executing '{command}': {e}")
        sys.exit(1)


if __name__ == "__main__":
    # 激活虚拟环境（如果需要）
    # 如果虚拟环境已经激活，可以跳过这步
    # subprocess.run("source venv/bin/activate", shell=True)

    # 安装依赖
    # run_command("pip install -r requirements.txt")

    # 执行数据库迁移
    run_command("python manage.py makemigrations")
    run_command("python manage.py migrate")

    # 创建超级用户（如果需要）
    # 如果需要创建超级用户，可以启用下面的代码
    # subprocess.run("python manage.py createsuperuser", shell=True)

    # 收集静态文件
    run_command("python manage.py collectstatic --noinput")

    # 启动开发服务器
    run_command("python manage.py runserver 0.0.0.0:8000")
